package com.talkingdata.hadoop.guard.bean;

public class ApplicationState {
    private int id ;                        // 编号
    private String clusterId ;              // 集群名称
    private String applicationId ;          // 任务id
    private String user ;                   // 用户
    private String name ;                   // 任务名称
    private String applicationType ;        // 任务类型
    private String queue ;                  // 队列
    private Long startedTime ;              // 提交时间
    private Long finishedTime ;             // 完成时间
    private String state ;                  // 任务状态
    private String finalStatus ;            // 最终状态
    private Long memorySeconds ;            // 内存资源
    private Long vcoreSeconds ;             // vcore 资源
    private int queueUsagePercentage ;      // 队列使用比例%
    private String trackingUrl ;            // 日志地址
    private String timestamp ;              // 时间戳

    public ApplicationState(int id, String clusterId, String applicationId, String user, String name, String applicationType, String queue, Long startedTime, Long finishedTime, String state, String finalStatus, Long memorySeconds, Long vcoreSeconds, int queueUsagePercentage, String trackingUrl, String timestamp) {
        this.id = id;
        this.clusterId = clusterId;
        this.applicationId = applicationId;
        this.user = user;
        this.name = name;
        this.applicationType = applicationType;
        this.queue = queue;
        this.startedTime = startedTime;
        this.finishedTime = finishedTime;
        this.state = state;
        this.finalStatus = finalStatus;
        this.memorySeconds = memorySeconds;
        this.vcoreSeconds = vcoreSeconds;
        this.queueUsagePercentage = queueUsagePercentage;
        this.trackingUrl = trackingUrl;
        this.timestamp = timestamp;
    }

    @Override
    public String toString() {
        return "ApplicationState{" +
                "clusterId='" + clusterId + '\'' +
                ", applicationId='" + applicationId + '\'' +
                ", user='" + user + '\'' +
                ", name='" + name + '\'' +
                ", applicationType='" + applicationType + '\'' +
                ", queue='" + queue + '\'' +
                ", startedTime=" + startedTime +
                ", finishedTime=" + finishedTime +
                ", state='" + state + '\'' +
                ", finalStatus='" + finalStatus + '\'' +
                ", memorySeconds=" + memorySeconds +
                ", vcoreSeconds=" + vcoreSeconds +
                ", queueUsagePercentage=" + queueUsagePercentage +
                ", trackingUrl='" + trackingUrl + '\'' +
                ", timestamp='" + timestamp + '\'' +
                '}';
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getClusterId() {
        return clusterId;
    }

    public void setClusterId(String clusterId) {
        this.clusterId = clusterId;
    }

    public String getApplicationId() {
        return applicationId;
    }

    public void setApplicationId(String applicationId) {
        this.applicationId = applicationId;
    }

    public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getApplicationType() {
        return applicationType;
    }

    public void setApplicationType(String applicationType) {
        this.applicationType = applicationType;
    }

    public String getQueue() {
        return queue;
    }

    public void setQueue(String queue) {
        this.queue = queue;
    }

    public Long getStartedTime() {
        return startedTime;
    }

    public void setStartedTime(Long startedTime) {
        this.startedTime = startedTime;
    }

    public Long getFinishedTime() {
        return finishedTime;
    }

    public void setFinishedTime(Long finishedTime) {
        this.finishedTime = finishedTime;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getFinalStatus() {
        return finalStatus;
    }

    public void setFinalStatus(String finalStatus) {
        this.finalStatus = finalStatus;
    }

    public Long getMemorySeconds() {
        return memorySeconds;
    }

    public void setMemorySeconds(Long memorySeconds) {
        this.memorySeconds = memorySeconds;
    }

    public Long getVcoreSeconds() {
        return vcoreSeconds;
    }

    public void setVcoreSeconds(Long vcoreSeconds) {
        this.vcoreSeconds = vcoreSeconds;
    }

    public int getQueueUsagePercentage() {
        return queueUsagePercentage;
    }

    public void setQueueUsagePercentage(int queueUsagePercentage) {
        this.queueUsagePercentage = queueUsagePercentage;
    }

    public String getTrackingUrl() {
        return trackingUrl;
    }

    public void setTrackingUrl(String trackingUrl) {
        this.trackingUrl = trackingUrl;
    }

    public String getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(String timestamp) {
        this.timestamp = timestamp;
    }

    public ApplicationState(String clusterId, String applicationId, String user, String name, String applicationType, String queue, Long startedTime, Long finishedTime, String state, String finalStatus, Long memorySeconds, Long vcoreSeconds, int queueUsagePercentage, String trackingUrl, String timestamp) {
        this.clusterId = clusterId;
        this.applicationId = applicationId;
        this.user = user;
        this.name = name;
        this.applicationType = applicationType;
        this.queue = queue;
        this.startedTime = startedTime;
        this.finishedTime = finishedTime;
        this.state = state;
        this.finalStatus = finalStatus;
        this.memorySeconds = memorySeconds;
        this.vcoreSeconds = vcoreSeconds;
        this.queueUsagePercentage = queueUsagePercentage;
        this.trackingUrl = trackingUrl;
        this.timestamp = timestamp;
    }

    public ApplicationState() {
    }
}
